若請 Node.js 的愛好者推薦 Framework ,我想 Express 會受半數以上的人推薦或提到,而在 Github 也有許多的 Example 是使用 Express ,那麼 Koa 是什麼?
Koa 官方 Github 裡有一篇 Koa vs Express ( 還在編輯 ) 文件裡大致說明了 Koa 與 Express 的不同,若沒時間看過內容,我截裡面一段重點的出現就可以一目了然 ( 如下表 ),
上表的結論,安裝 Express 前置作業完成 85%,安裝 Koa 前置作業 60%;這感覺就好比 Express 給一輛車,加油就可以上路; Koa 給一臺 50 cc 小綿羊,一樣加油就可以上路;然而 Express 我在 [Day 15] API 尋寶記 - 現代人離不開的 HTTP 的 Framework 中提到更新與背後技術團隊支持都呈現疲態,讓其的發展變得悲觀,反之 Koa 背後技術團隊是原 Express 核心成員參與其中,如 TJ Holowaychuk 、 Jonathan Ong 大大都在名列其中。
原因有幾個,
以上是我選擇 Koa 的原因,至於未來會不會用 Express 呢?不會!我會用 Koa 或 Sails.js ;原因是前者熟悉組合後,開發上不比 Express 差,後者則是建築在 Express 上,另成一個生態且提供更完整的 Framework ,省更多心思在環境上。